package apiin

import (
	"github.com/gogf/gf/v2/encoding/gjson"
	"github.com/gogf/gf/v2/os/gtime"
	"hotgo/internal/model/input/adminin"
	"hotgo/internal/model/input/form"
)

type AppLoginInp struct {
	Code       string `json:"code" v:"required#code不能为空" dc:"登录凭证"`
	ProductId  int64  `json:"productId" dc:"分享的商品ID"`
	UserId     int64  `json:"userId" dc:"分享的用户ID"`
	InviteCode string `json:"inviteCode" dc:"邀请码"`
}

type LoginMemberInfoModel struct {
	Id           int64       `json:"id"                 dc:"用户ID"`
	DeptName     string      `json:"deptName"           dc:"所属部门"`
	RoleName     string      `json:"roleName"           dc:"所属角色"`
	Permissions  []string    `json:"permissions"        dc:"角色信息"`
	Username     string      `json:"username"           dc:"用户名"`
	Avatar       string      `json:"avatar"             dc:"头像"`
	Balance      float64     `json:"balance"            dc:"余额"`
	Integral     float64     `json:"integral"           dc:"积分"`
	Sex          int         `json:"sex"                dc:"性别"`
	Mobile       string      `json:"mobile"             dc:"手机号码"`
	CreatedAt    *gtime.Time `json:"createdAt"          dc:"创建时间"`
	OpenId       string      `json:"openId"             dc:"本次登录的openId"` // 区别与绑定的微信openid
	Nickname     string      `json:"nickname"           dc:"微信昵称"`
	MemberStatus int         `json:"memberStatus"       dc:"用户状态：1-非会员、2-会员"`
	MemberType   int         `json:"memberType"         dc:"会员类型：1-月卡、2-季卡、3-年卡"`
	Label        *gjson.Json `json:"label"              dc:"用户标签：游客、新人、首单用户"`
	Source       int         `json:"source"             dc:"渠道来源：1-自然注册、2-销氪邀请、3-商品裂变、4-线下激活、5-抖音"`
	ExpireTime   *gtime.Time `json:"expireTime"         dc:"到期时间"`
	*adminin.MemberLoginStatModel
}

type MemberUpdateInfoInp struct {
	Iv            string `json:"iv"            dc:"iv(设置手机号时填写)"`
	EncryptedData string `json:"encryptedData" dc:"encryptedData(设置手机号时填写)"`
	Avatar        string `json:"avatar"        dc:"头像地址(不为空时修改)"`
	Nickname      string `json:"nickname"      dc:"微信昵称(不为空时修改)"`
}

type CarouselDynamicModel struct {
	Nickname string `json:"nickname"  orm:"nickname"  dc:"微信昵称"`
	Name     string `json:"name"      orm:"name"      dc:"内容"`
	Avatar   string `json:"avatar"    orm:"avatar"    dc:"头像"`
}

type TeamListInp struct {
	form.PageReq
	Search     string `json:"search" dc:"搜索内容：昵称/电话"`
	Type       int64  `json:"type" dc:"类型：0-全部(默认)，1-用户，2-会员，3-销氪，4-服务商"`
	DirectType int64  `json:"directType" dc:"直推类型：0-全部(默认)，1-直接推荐，2-间接推荐"`
}

type TeamListModel struct {
	Nickname   string      `json:"nickname"           dc:"微信昵称"`
	Identity   *gjson.Json `json:"identity"           dc:"身份"`
	Source     int         `json:"source"             dc:"渠道来源：1-自然注册、2-销氪邀请、3-商品裂变、4-线下激活"`
	DirectType string      `json:"directType"         dc:"直推类型"`
	CreatedAt  *gtime.Time `json:"createdAt"          dc:"创建时间"`
}
